#coding=utf-8
# ## python2
# a = 15
# b = 21
# print(a/b)
# # 一定得到一个int型结果(取整除)
# # 0
#
# a = 15.
# b = 21
# print(a/b)
# # 一定得到一个float型结果
# # 0.714285714286


### python3
a = 10
b = 5
print(a/b)
# 一定得到一个float型结果

a = 10.
b = 5
print(a/b)
# 一定得到一个float型结果

print(a//b)
# 一定得到一个int型结果(取整除), 地板除

# 取余
a = 10
b = 5
print(a%b)
a = 10.
b = 5
print(a%b)
# 灵活地决定对象类型


# 次方，幂
a = 10
print(a**2)


############
a = 'abc'
b = 'def'
# 字符串拼接
print(a+b)
# 重复次数(次数必须是int)
print('#'*50)


price = 40
number = 5
print("商品的总价为:", price*number)


print(13+45*2-22)

print('#'*20, "赋值运算符", '#'*20)

# =
# +=, -=, *=, /=, //=, **/
# += # a = a+b
a = '110'
b = '20'
a += b
print('a+=b',a)

# 字符串不支持减法，只支持+，*
# print("a-b", a-b)


print('#'*20, "比较运算符", '#'*20)
# x>y, x<y, x<=y, x>=y, x==y, x!=y
# 得到一个Boole值（True/False）
a = 10
b = 10
print(a == b)
print(a != b)


print('#'*10,'str')
a = 'abc'
b = 'def'
# 字符串做比较
print(a<b)
# 字符串比较顺序
# 从第一位开始，一位一位地做对比,如果相等则继续比较下一伴（ASCII码做对比）
# A 65
# a 97

a = 'abcg'
b = 'abC'
print(a<b)

score = 80
# 大于70 并且小于85， =》 良好
print(score > 70 and score < 85)
# and => 多个表达式全部为True时，结果为True, 其他情况都为False
# or => 只要一个表达式结果为True，结果为True, 其他情况都为False





# str
a = 'abcdefg'



#
a = 10 # => 1010 => 1*2^3+1*2^1 = 10
b = 3  # => 0011 => 1*2^1+1*2^0 = 3

print(a & b) # => 0010
print(a | b) # => 1011
print(a ^ b) # => 1001 => 相同为0，不同为1

# 位移
print(a >> 2) # 10.10
print(a << 2) # 101000
# 取反
print(~a) #  0000 1010  =>  1111 0101 => 反码、补码


###############
# 接收用户的输入
## 1+2
# 取出操作数以及操作符，做运算
## (1+2)*3

#############
# 输入一个数
# 输入操作符
# 输入一个数
############






